package com.example.teachingSystem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.teachingSystem.pojo.entity.SysUser;
import com.example.teachingSystem.pojo.form.auth.*;
import com.example.teachingSystem.pojo.vo.LoginVo;
import com.example.teachingSystem.utils.result.Result;

public interface AuthService extends IService<SysUser> {

    Result<LoginVo> userLogin(LoginForm loginForm);

    Result<LoginVo> userLoginByEmail(EmailAndCaptchaForm emailAndCaptchaForm);

    Result<String> getLoginCaptcha(String email);

    Result<String> changeUserPassword(ChangePwdForm changePwdForm);

    Result<String> getChangePwdCaptcha(String email);

    Result<String> changeUserPwdByEmail(ChangePwdByEmailForm changePwdByEmailForm);

    Result<String> getOldEmailCaptcha(String email);

    Result<String> verifyOldEmail(EmailAndCaptchaForm emailAndCaptchaForm);

    Result<String> getNewEmailCaptcha(String email);

    Result<String> verifyNewEmail(ChangeEmailForm changeEmailForm);
}
